// package com.liangtian.mdm.material.controller;
//
// import com.alibaba.fastjson.JSON;
// import com.alibaba.fastjson.JSONObject;
// import com.github.pagehelper.PageInfo;
// import com.liangtian.mdm.base.controller.BaseController;
// import com.liangtian.mdm.base.dao.JdbcDao;
// import com.liangtian.mdm.base.utils.ResultObject;
// import com.liangtian.mdm.base.utils.ShiroSessionUtils;
// import com.liangtian.mdm.dm.common.pojo.ResponseMsg;
// import com.liangtian.mdm.material.common.constant.Constants;
// import com.liangtian.mdm.material.dao.WlLbDao;
// import com.liangtian.mdm.material.model.WlLb;
// import com.liangtian.mdm.material.model.WlLbUpdate;
// import com.liangtian.mdm.material.model.WlLbbm;
// import com.liangtian.mdm.material.model.WlbmJldw;
// import com.liangtian.mdm.material.service.*;
// import com.liangtian.mdm.system.datapermission.service.SysDataPermissionService;
// import com.liangtian.mdm.system.log.SysLogUtil;
// import com.liangtian.mdm.system.log.model.SysLogEnum;
// import com.liangtian.mdm.system.log.service.SysLogService;
// import com.liangtian.mdm.system.parameter.service.SysParameterService;
// import com.liangtian.mdm.system.user.model.SysUser;
// import com.liangtian.mdm.system.user.util.ExcelImport;
// import com.liangtian.mdm.util.ConstantBean;
// import com.liangtian.mdm.util.ExportUtil;
// import com.liangtian.mdm.util.TemplateName;
// import org.apache.commons.lang3.StringUtils;
// import org.apache.poi.ss.usermodel.Sheet;
// import org.apache.poi.ss.usermodel.Workbook;
// import org.slf4j.Logger;
// import org.slf4j.LoggerFactory;
// import org.springframework.beans.factory.annotation.Autowired;
// import org.springframework.stereotype.Controller;
// import org.springframework.util.FileCopyUtils;
// import org.springframework.web.bind.annotation.RequestBody;
// import org.springframework.web.bind.annotation.RequestMapping;
// import org.springframework.web.bind.annotation.RequestMethod;
// import org.springframework.web.bind.annotation.ResponseBody;
// import org.springframework.web.multipart.MultipartFile;
// import org.springframework.web.multipart.MultipartHttpServletRequest;
//
// import javax.servlet.http.HttpServletRequest;
// import javax.servlet.http.HttpServletResponse;
// import java.io.File;
// import java.io.IOException;
// import java.text.SimpleDateFormat;
// import java.util.*;
//
// @Controller
// @RequestMapping("/wlLbController")
// public class WlLbController extends BaseController {
//     private static Logger log = LoggerFactory.getLogger(WlLbController.class);
//     @Autowired
//     private WlLbService wlLbService;
//     @Autowired
//     private WlLbbmService wlLbbmService;
//     @Autowired
//     private WlLbDao wlLbDao;
//
//     // 日志服务接口对象
//     @Autowired
//     SysLogService sysLogServiceImpl;
//     @Autowired
//     private SysParameterService sysParameterService;
//
//     // Session中保存的当前登录用户的信息
//     //@Value("${ConstantBean.CURRENT_SESSION_USER}")
//     //private String ConstantBean.CURRENT_SESSION_USER;
//
//     @Autowired
//     JdbcDao jdbcDao;
//
//     private ExcelImport excelImport = new ExcelImport();
//
//     @Autowired
//     private WlbmJldwService wlbmJldwService;
//
//     @Autowired
//     private SysDataPermissionService sysDataPermissionService;
//
//     @Autowired
//     private WorkFlowService workFlowService;
//
//     @Autowired
//     private WlLbUpdateService wlLbUpdateService;
//
//     @Autowired
//     private WlwlService wlwlService;
//
//     private List<WlLb> wlLbListByExport = null;
//     private Map<String, Object> wlmap = null;
//
//     @ResponseBody
//     @RequestMapping(value = "/getWllbTreeByPermissionCond", method = RequestMethod.POST)
//     public String getWllbTreeByPermissionCond(WlLb wlLb) {
//         List<WlLb> wlLbList = new ArrayList<WlLb>();
//         ResultObject result = new ResultObject();
//         // 获取session中用户
//         SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//         try {
//             if ("0".equals(wlLb.getPid())) {
//                 wlLb.setPid(null);
//             }
//             wlLb.setYhbm(String.valueOf(user.getUserId()));
//             wlLbList = wlLbService.getWllbTreeByPermissionCond(wlLb);
//             for (WlLb wllb : wlLbList) {
//                 wllb.setLbmc(wllb.getLbbm() + "_" + wllb.getLbmc());
//             }
//             result.setData(wlLbList);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//         return JSON.toJSONString(wlLbList);
//     }
//
//     @ResponseBody
//     @RequestMapping(value = "/getWlLbListByCond", method = RequestMethod.POST)
//     @SuppressWarnings({"rawtypes", "unchecked"})
//     public JSONObject getWlLbListByCond(HttpServletRequest request, WlLb wllb, HttpServletResponse response) {
//         // 获取session中用户
//         SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//         Map<String, Object> paramMap = RequestUtils.paramToMap(request, WlLb.class, false);
//         String lbbms = (String) paramMap.get("lbbms");
//         if (!StringUtils.isEmpty(lbbms))
//             paramMap.put("lbbmArray", StringUtil.toList(lbbms));
//         paramMap.put("yhbm", String.valueOf(user.getUserId()));
//         PageInfo pageInfo = wlLbService.getWlLbListByCond(paramMap);
//         List l = pageInfo.getList();
//         wlLbListByExport = pageInfo.getList();
//         wlmap = paramMap;
//         JSONObject jsonObject = new JSONObject();
//         jsonObject.put("rows", l);
//         jsonObject.put("total", pageInfo.getTotal());
//         return jsonObject;
//     }
//
//     @RequestMapping(value = "/insertWlLb", method = RequestMethod.POST)
//     @ResponseBody
//     public ResultObject insertWlLb(WlLb wllb, HttpServletRequest request) {
//         // 获取当前日期
//         Date date = new Date();
//         // 获取session中用户
//         SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//         wllb.setYhbm(user.getUserAccount());
//         wllb.setCreatorId(String.valueOf(user.getUserId()));
//         wllb.setCreatorName(user.getUserName());
//         //物资产品标志 默认为物资
//         if ("".equals(wllb.getWzcpbz()) || null == wllb.getWzcpbz()) {
//             wllb.setWzcpbz("1");
//         }
//         int count = wlLbService.insertWlLb(wllb);
// 		/*// ==============================记录操作日志start===============================================
// 		SysLog sysLog = new SysLog();
// 		sysLog.setUserName(user.getUserName());
// 		sysLog.setBrowserType(BrowserUtils.getBrowserName(request));
// 		sysLog.setOperationDate(date);
// 		if (count > 0) {
// 			sysLog.setOperationContent("用户【" + ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER).getUserName()
// 					+ "】于" + DateUtils.dateToString(date, "yyyy-MM-dd HH:mm:ss") + ",新增物料类别成功");
// 		} else {
// 			sysLog.setOperationContent("用户【" + ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER).getUserName()
// 					+ "】于" + DateUtils.dateToString(date, "yyyy-MM-dd HH:mm:ss") + ",新增物料类别失败");
// 		}
// 		sysLogServiceImpl.insertLog(sysLog);
// 		// ==============================记录操作日志end==================================================
// */
//         SysLogUtil.insertLog("新增物料类别[" + wllb.getLbbm() + "][" + wllb.getLbmc() + "]",
//                 SysLogEnum.WL_LB.getCode(), SysLogEnum.XZ.getCode(), request);
//         ResultObject resultObject = new ResultObject(count, "新增成功", "新增失败");
//         return resultObject;
//     }
//
//     @ResponseBody
//     @RequestMapping(value = "/checkWllbbmExist", method = RequestMethod.POST)
//     public JSONObject checkWllbbmExist(HttpServletRequest request, WlLb wllb) {
//         JSONObject jsonObject = new JSONObject();
//         ResponseMsg<String> rMsg = new ResponseMsg<String>();
//         try {
//             int count = wlLbService.checkWllbbmExist(wllb);
//             rMsg.setRspCode(count);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//         jsonObject.put("rmsg", rMsg);
//         return jsonObject;
//     }
//
//     @ResponseBody
//     @RequestMapping(value = "/checkWllbmcExist", method = RequestMethod.POST)
//     public JSONObject checkWllbmcExist(HttpServletRequest request, WlLb wllb) {
//         JSONObject jsonObject = new JSONObject();
//         //ResponseMsg<String> rMsg = new ResponseMsg<String>();
//         int count = 0;
//         String msg = "";
//         try {
//             count = wlLbService.checkWllbmcExist(wllb);
//             //新增 如果类别表不存在，再去类别别名表中校验
//             if (count == 0) {
//                 Map<String, Object> cond = new HashMap<>();
//                 cond.put("lbbm", wllb.getLbbm());
//                 cond.put("lbmcbm", wllb.getLbmc());
//                 List<WlLbbm> list = wlLbbmService.queryWlLbbmByCond(cond);
//                 if (!StringUtils.isEmpty(list)) {
//                     count = list.size();
//                     msg = "添加的物料类别名称已维护在【" + list.get(0).getLbbm() + "-" + list.get(0).getLbmc() + "】的别名中";
//                 }
//             } else
//                 msg = "添加的物料类别名称已经存在";
//             //rMsg.setRspCode(count);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//         jsonObject.put("count", count);
//         jsonObject.put("msg", msg);
//         return jsonObject;
//     }
//
//     @ResponseBody
//     @RequestMapping(value = "/deleteWlLbByIdS", method = RequestMethod.POST)
//     public ResultObject deleteWlLbByIdS(HttpServletRequest request) {
//         String ids = request.getParameter("ids");
//         String lbbms = request.getParameter("lbbms");
//         if (ids == null || "".equals(ids))
//             return null;
//         Map<String, Object> map = new HashMap<>();
//         map.put("idList", ids.split(","));
//         if (StringUtils.isNotEmpty(lbbms)) {
//             map.put("lbbmList", lbbms.split(","));
//             wlLbbmService.deleteWlLbbmByCond(map);
//         }
//         int ret = wlLbService.deleteWlLbByIdS(map);
//         int f = ret > 0 ? 1 : 0;
//         //记录日志
//         SysLogUtil.insertLog("删除物料类别[" + ids + "]",
//                 SysLogEnum.WL_LB.getCode(), SysLogEnum.SC.getCode(), request);
//         ResultObject result = new ResultObject(f, "删除成功", "删除失败");
//         return result;
//     }
//
//     @ResponseBody
//     @RequestMapping(value = "/getWlLbById", method = RequestMethod.POST)
//     public String getWlLbById(WlLb wllb) {
//         WlLb wlLb = null;
//         try {
//             wlLb = wlLbService.getWlLbById(wllb);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//         if ("tzlSearch".equals(wllb.getErrtext())) {
//             return JSON.toJSONString(wlLb.getLbbmId());
//         } else {
//             return JSON.toJSONString(wlLb);
//         }
//     }
//
//     @ResponseBody
//     @RequestMapping(value = "/checkCodeUpdate", method = RequestMethod.POST)
//     public JSONObject checkCodeUpdate(HttpServletRequest request, WlLb wllb) {
//         JSONObject jsonObject = new JSONObject();
//         ResponseMsg<String> rMsg = new ResponseMsg<String>();
//         try {
//             int count = wlLbService.checkCodeUpdate(wllb);
//             rMsg.setRspCode(count);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//         jsonObject.put("rmsg", rMsg);
//         return jsonObject;
//     }
//
//     @ResponseBody
//     @RequestMapping(value = "/checkNameUpdate", method = RequestMethod.POST)
//     public JSONObject checkNameUpdate(HttpServletRequest request, WlLb wllb) {
//         JSONObject jsonObject = new JSONObject();
//         ResponseMsg<String> rMsg = new ResponseMsg<String>();
//         try {
//             int count = wlLbService.checkNameUpdate(wllb);
//             rMsg.setRspCode(count);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//         jsonObject.put("rmsg", rMsg);
//         return jsonObject;
//     }
//
//     @ResponseBody
//     @RequestMapping(value = "/updateWlLb", method = RequestMethod.POST)
//     public JSONObject updateWlLb(WlLb wllb, HttpServletRequest request) {
//         JSONObject jsonObject = new JSONObject();
//         ResponseMsg<String> rMsg = new ResponseMsg<String>();
//         try {
//             // 获取session中用户
//             SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//             WlLb querywllb = new WlLb();
//             querywllb.setLbbmId(wllb.getLbbmId());
//             WlLb wlLb = wlLbService.getWlLbById(querywllb);
//             wlLb.setLbbm(wllb.getLbbm());
//             wlLb.setLbmc(wllb.getLbmc());
//             wlLb.setBzsm(wllb.getBzsm());
//             wlLb.setJldw(wllb.getJldw());
//             if (null != wllb.getWzcpbz() && !"".equals(wllb.getWzcpbz())) {
//                 wlLb.setWzcpbz(wllb.getWzcpbz());
//             }
//
//             wlLb.setState("0");
//             wlLb.setUpdateUid(String.valueOf(user.getUserId()));
//             wlLb.setUpdateUname(user.getUserName());
//             wlLb.setYhbm(user.getUserAccount());
//             wlLbService.updateWlLb(wlLb);
//             rMsg.setRspCode(0);
//             //记录日志
//             SysLogUtil.insertLog("编辑物料类别[" + wllb.getLbbm() + "][" + wllb.getLbmc() + "]",
//                     SysLogEnum.WL_LB.getCode(), SysLogEnum.BJ.getCode(), request);
//         } catch (Exception e) {
//             e.printStackTrace();
//             rMsg.setRspCode(-1);
//         }
//         jsonObject.put("rmsg", rMsg);
//         return jsonObject;
//     }
//
// 	/*@RequestMapping(value = "wlLbExport", method = RequestMethod.GET)
//     @ResponseBody
//     public String wlLbExport(HttpServletResponse response,HttpServletRequest request) {
//     	String tablename=request.getParameter("tableName");
//     	XSSFRow row = null;
// 		XSSFCell cell = null;
//
// 		// 声明一个工作薄
// 		XSSFWorkbook workbook = new XSSFWorkbook();
// 		XSSFSheet sheet = workbook.createSheet("物料类别");
// 		XSSFCellStyle style = workbook.createCellStyle();
// 		style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// 	    row = sheet.createRow(0);
// 	    sheet.addMergedRegion(new CellRangeAddress(0,0,0,4));
// 	    cell=row.createCell(0);
// 	    cell.setCellValue("物料类别");
// 	    cell.setCellStyle(style);
//
// 		Comment comment = null;
// 		CreationHelper factory = workbook.getCreationHelper();
// 		Drawing drawing = sheet.createDrawingPatriarch();
//         ClientAnchor anchor = factory.createClientAnchor();
//
//         row = sheet.createRow(1);
// 		sheet.setColumnWidth(0, 30*220);  //设置第一列的宽度
// 		cell=row.createCell(0);
// 		cell.setCellValue("类别代码");
// 		comment = drawing.createCellComment(anchor);
// 		comment.setString(new XSSFRichTextString("类别代码不允许为空"));
// 		cell.setCellComment(comment);
//
// 		sheet.setColumnWidth(1, 30*200);  //设置第二列的宽度
// 		cell=row.createCell(1);
// 		cell.setCellValue("类别名称");
// 		comment = drawing.createCellComment(anchor);
// 		comment.setString(new XSSFRichTextString("类别名称不允许为空"));
// 		cell.setCellComment(comment);
//
// 		sheet.setColumnWidth(2, 30*200);  //设置第三列的宽度
// 		cell=row.createCell(2);
// 		cell.setCellValue("类别计量单位");
//
// 		sheet.setColumnWidth(3, 30*200);  //设置第四列的宽度
// 		cell=row.createCell(3);
// 		cell.setCellValue("物资产品标志");
// 		comment = drawing.createCellComment(anchor);
// 		comment.setString(new XSSFRichTextString("物资产品标志不允许为空;'1'代表物资,'2'代表产品"));
// 		cell.setCellComment(comment);
//
// 		cell=row.createCell(4);
// 		cell.setCellValue("编制说明");
//
// 		outExcel(tablename,workbook,response);
// 		return null;
//     }
//
// 	private void outExcel(String title, XSSFWorkbook workbook, HttpServletResponse response) {
// 		OutputStream out = null;
// 		try {
// 			String fileName = title.replace(" ", "") + ".xlsx";
// 			out = response.getOutputStream();
// 			response.reset();// 清空输出流
// 			fileName = new String(fileName.getBytes("GBK"), "iso8859-1");
// 			response.setHeader("Content-disposition", "attachment; filename="
// 					+ fileName);// 设定输出文件头
// 			response.setContentType("application/msdownload");// 定义输出类型
// 			workbook.write(out);
// 		} catch (IOException e) {
// 			throw new RuntimeException("导出数据异常");
// 		} finally {
// 			try {
// 				out.close();
// 			} catch (IOException e) {
// 				throw new RuntimeException("导出关闭异常");
// 			} // 关闭流
// 		}
// 	}*/
//
//     @ResponseBody
//     @RequestMapping(value = "/getWllbQtSelectListByCond", method = RequestMethod.POST)
//     @SuppressWarnings({"rawtypes", "unchecked"})
//     public JSONObject getWllbQtSelectListByCond(HttpServletRequest request, WlLb wllb) {
//         // 获取session中用户
//         SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//         Map paramMap = RequestUtils.paramToMap(request, WlLb.class, false);
//         paramMap.put("yhbm", String.valueOf(user.getUserId()));//权限
//         paramMap.put("ope", "1");//控制变更和冻结解冻只能同时进行一项操作
//         PageInfo pageInfo = wlLbService.getWllbQtSelectListByCond(paramMap);
//         List l = pageInfo.getList();
//         JSONObject jsonObject = new JSONObject();
//         jsonObject.put("rows", l);
//         jsonObject.put("total", pageInfo.getTotal());
//         return jsonObject;
//     }
//
//     @RequestMapping(value = "/insertWllbUpdate", method = RequestMethod.POST)
//     @ResponseBody
//     public ResultObject insertWllbUpdate(HttpServletRequest request) {
//         String operType = request.getParameter("operationType");
//         String idd = request.getParameter("ids");
//         List<String> ids = StringUtil.toList(idd);
//         ResultObject result = null;
//         try {
//             if (operType.equals("0")) {
//                 for (String id : ids) {
//                     wlLbService.insertWllbUpdateBg(id, operType);
//                 }
//             } else {
//                 for (String id : ids) {
//                     wlLbService.insertWllbUpdateQt(id, operType);
//                 }
//             }
//             result = new ResultObject(1, "操作成功", "操作失败");
//         } catch (Exception e) {
//             e.printStackTrace();
//             result = new ResultObject(0, "操作成功", "操作失败");
//         }
//         return result;
//     }
//
//     @ResponseBody
//     @RequestMapping(value = "/getEditCountByLbbm", method = RequestMethod.POST)
//     public JSONObject getEditCountByLbbm(HttpServletRequest request, WlLb wllb) {
//         JSONObject jsonObject = new JSONObject();
//         ResponseMsg<String> rMsg = new ResponseMsg<String>();
//         try {
//             int count = wlLbService.getEditCountByLbbm(wllb);
//             rMsg.setRspCode(count);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//         jsonObject.put("rmsg", rMsg);
//         return jsonObject;
//     }
//
//     /**
//      * 导入物料类别
//      *
//      * @param modelId
//      * @param tableName
//      * @return
//      */
//     @RequestMapping(value = "excelImport", method = RequestMethod.POST)
//     @ResponseBody
//     public ResultObject excelImport(HttpServletResponse response, HttpServletRequest request) {
//         ResultObject result = null;
//         try {
//             String tableName = request.getParameter("tableName");
//             MultipartHttpServletRequest mulRequest = (MultipartHttpServletRequest) request;
//             MultipartFile file = mulRequest.getFile("excel");
//             // 获取路径
//             String ctxPath = request.getSession().getServletContext().getRealPath("/") + "upload" + File.separator;
//             // 创建文件
//             File dirPath = new File(ctxPath);
//             //记录日志
//             SysLogUtil.insertLog("导入物料类别",
//                     SysLogEnum.WL_LB.getCode(), SysLogEnum.PD.getCode(), request);
//             if (!dirPath.exists()) {
//                 dirPath.mkdir();
//             }
//             File uploadFile = new File(ctxPath + file.getOriginalFilename());
//
//             // 保存上传的文件到服务器发布项目中的upload文件夹下
//             FileCopyUtils.copy(file.getBytes(), uploadFile);
//
//             Workbook book = excelImport.getWorkbook(uploadFile);
//             int sheetNum = 0;
//             // 得到sheet总数
//             sheetNum = book.getNumberOfSheets();
//             for (int i = 0; i < sheetNum; i++) {
//                 Sheet sheet = book.getSheetAt(i);
//                 @SuppressWarnings("static-access")
//                 List<Object[]> valueList = excelImport.read(sheet);
//                 // 插入数据
//                 if (valueList != null && valueList.size() > 0) {
//                     result = checkImportList(valueList, tableName);
//                 }
//             }
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//         return result;
//     }
//
//     /**
//      * * <p>Title: 校验用户输入的数据</p>
//      * <p>Company:@param valueList
//      * <p>Company:@param tableName
//      * <p>Company:@param conn
//      * <p>Company:@return </p>
//      */
//     @RequestMapping(value = "/checkImportList", method = RequestMethod.POST)
//     @ResponseBody
//     public ResultObject checkImportList(List<Object[]> valueList, String tableName) {
//         ExcelUtil eu = new ExcelUtil();
//         String fileName = "";
//         ResultObject resuObj = null;
//         StringBuffer sb = new StringBuffer();//声明拼接符
//         valueList.remove(0);
//         if (0 != valueList.size() && null != valueList) {
//             for (int j = 0; j < valueList.size(); j++) {//获取用户将导入的数据n条
//                 String[] row = (String[]) valueList.get(j);//获取行
//                 for (int k = 0; k < row.length; k++) {
//                     String cell = row[k];//获取每固定行一列（0,0）
//                     sb.append(check_column(j, k, cell, row));
//                 }
//                 if (sb.toString().equals("")) {
//                     String[] headArray = {"USER_NAME", "USER_ACCOUNT", "USER_EMAIL", "USER_PHONE", "USER_TELEPHONE", "ORGANIZATION_ID"};
//                     List<String> sqls = genSql(tableName, row, headArray);
//                     boolean sucess = jdbcDao.executeSqlList(sqls, true);
//                     if (sucess) {
//                         resuObj = new ResultObject("true", "导入成功!");
//                     }
//                 } else {
//                     fileName = "wllbImportError" + new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + ".txt";
//                     try {
//                         ExportUtil.errTxt(sb.append("@@<!-- 请删除第二行到错误行之间的数据,修改错误行后再导入 -->").toString(), fileName);
//                     } catch (IOException e) {
//                         // TODO Auto-generated catch block
//                         e.printStackTrace();
//                     }
// 					/*try {
// 						fileName="物料类别批量导入"+"@@@@"+new SimpleDateFormat("yyyyMMddHHmmssSSS") .format(new Date())+".txt";
// 						eu.errTxt(sb.append("@@<!-- 请删除第二行到错误行之间的数据,修改错误行后再导入 -->").toString(), fileName);
// 					} catch (IOException e) {
// 						e.printStackTrace();
// 					}*/
//                     resuObj = new ResultObject("false", fileName);
//                     break;
//                 }
//
//             }
//         } else {
//             sb.append("@@@@" + "请在模板中填写需要导入的数据！");
//         }
//
// 		/*if(sb.toString().equals("")){
// 			String[] headArray ={"USER_NAME","USER_ACCOUNT","USER_EMAIL","USER_PHONE","USER_TELEPHONE","ORGANIZATION_ID"};
// 			List<String> sqls = genSql(tableName, valueList, headArray);
// 			boolean sucess = jdbcDao.executeSqlList(sqls, true);
// 			if(sucess){
// 				resuObj=new ResultObject("true","导入成功!");
// 			}
// 		}else{
// 			try {
// 				fileName="物料类别批量导入"+"@@@@"+new SimpleDateFormat("yyyyMMddHHmmssSSS") .format(new Date())+".txt";
// 				eu.errTxt(sb.toString(), fileName);
// 			} catch (IOException e) {
// 				e.printStackTrace();
// 			}
// 			resuObj=new ResultObject("false",fileName);
// 		}*/
//         return resuObj;
//     }
//
//     public String check_column(int row, int column, String cell, String[] coll) {
//         StringBuffer sb = new StringBuffer();//声明拼接符
//         //校验每行数据的每一列，错误的拼接成string，正确的不拼接
//         if (column == 0) {//说明是第一列（校验类别代码）
//             if (cell.equals("") || cell == null || cell.equals(" ")) {//如果数据为空
//                 sb.append("@@导入数据第" + (row + 2) + "行,第" + (column + 1) + "列,类别代码为空！");
//             } else {
//                 if (cell.length() == 6 || cell.length() == 4 || cell.length() == 2) {
//                     WlLb wllb = new WlLb();
//                     wllb.setLbbm(cell);
//                     WlLb wlLb = wlLbService.getWlLbById(wllb);
//                     if (null != wlLb) {
//                         sb.append("@@导入数据第" + (row + 2) + "行,第" + (column + 1) + "列,物料类别代码" + "'" + cell + "'" + "已存在！");
//                     } else {
//                         if (cell.length() > 2) {
//                             WlLb wl = new WlLb();
//                             wl.setLbbm(cell.substring(0, cell.length() - 2));
//                             WlLb lb = wlLbService.getWlLbById(wl);
//                             if (null == lb) {
//                                 if (cell.length() == 4) {
//                                     sb.append("@@导入数据第" + (row + 2) + "行,第" + (column + 1) + "列,物料类别代码:" + "'" + cell + "'" + "的大类不存在,请先创建大类:" + "'" + cell.substring(0, cell.length() - 2) + "'");
//                                 } else if (cell.length() == 6) {
//                                     sb.append("@@导入数据第" + (row + 2) + "行,第" + (column + 1) + "列,物料类别代码:" + "'" + cell + "'" + "的中类不存在,请先创建中类:" + "'" + cell.substring(0, cell.length() - 2) + "'");
//                                 }
//                             }
//                         }
//                     }
//
//                 } else {
//                     sb.append("@@导入数据第" + (row + 2) + "行,第" + (column + 1) + "列,物料类别代码填写错误,请输入2位或4位或6位的类别代码！");
//                 }
//
//             }
//
//         } else if (column == 1) {//说明是第二列（校验类别名称）
//             if (cell.equals("") || cell == null || cell.equals(" ")) {
//                 sb.append("@@导入数据第" + (row + 2) + "行,第" + (column + 1) + "列,类别名称为空！");
//             } else {
//                 WlLb wllb = new WlLb();
//                 wllb.setLbmc(cell);
//                 int count = wlLbService.checkWllbmcExist(wllb);
//                 if (count > 0) {
//                     sb.append("@@导入数据第" + (row + 2) + "行,第" + (column + 1) + "列,类别名称重复!");
//                 }
//             }
//         } else if (column == 2) {//说明是第三列（校验计量单位） null != cell || !"".equals(cell) || !" ".equals(cell)
//             if (StringUtils.isNotEmpty(cell.trim())) {
//                 if (coll[0].length() > 4) {
//                     WlbmJldw dw = new WlbmJldw();
//                     dw.setJldw(cell);
//                     WlbmJldw jldw = wlbmJldwService.getWlbmJldwById(dw);
//                     if (null == jldw) {
//                         sb.append("@@导入数据第" + (row + 2) + "行,第" + (column + 1) + "列,计量单位:" + "'" + cell + "'" + "不存在!");
//                     }
//                 }
//
//             }
//         } else if (column == 3) {//说明是第四列（校验物资产品标志）
//             if (StringUtils.isNotEmpty(cell.trim())) {
//                 if ("1".equals(cell) || "2".equals(cell)) {
//
//                 } else {
//                     sb.append("@@导入数据第" + (row + 2) + "行,第" + (column + 1) + "列,物资产品标志输入错误!");
//                 }
//
//             }
//         }
//         return sb.toString();
//
//     }
//
//     public List<String> genSql(String tableName, String[] row, String[] headArray) {
//         SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//
//         List<String> sqls = new ArrayList<String>();
//         StringBuffer sb = new StringBuffer("");
//         sb.append(" insert into " + tableName + " (LBBM_ID,")
//                 .append("LBBM,LBMC,JLDW,WZCPBZ,BZSM,PID,YHBM,NOUSE,")
//                 .append("STATE,STATUS,CREATOR_ID,CREATOR_NAME,CREATE_TIME,VERSION)")
//                 .append(" VALUES( WL_LB_seq.nextval,");
//
//         if (row[0].length() == 2 || row[0].length() == 4) {
//             sb.append("'").append(row[0]).append("',").append("'").append(row[1]).append("',")
//                     .append("'',").append("'1',").append("'").append(row[4]).append("',");
//         } else {
//             sb.append("'").append(row[0]).append("',").append("'").append(row[1]).append("',")
//                     .append("'").append(row[2]).append("',").append("'").append(row[3]).append("',")
//                     .append("'").append(row[4]).append("',");
//         }
// 		/*for (int k = 0; k < row.length; k++) {
// 			sb.append("'").append(row[k]).append("',");
// 			if(k == 3){
// 				if(row[0].length() == 2 || row[0].length() == 4){
//
// 				}
// 			}
// 		}*/
//         if (row[0].length() > 2) {
//             WlLb wl = new WlLb();
//             wl.setLbbm(row[0].substring(0, row[0].length() - 2));
//             WlLb lb = wlLbService.getWlLbById(wl);
//             if (null == lb) {
//                 sb.append("'',");
//             } else {
//                 sb.append("'" + lb.getLbbmId() + "', ");
//             }
//         } else {
//             sb.append("'',");
//         }
//         sb.append("'").append(user.getUserAccount()).append("', ").append("'0', '0', '1', ")
//                 .append("'").append(user.getUserId()).append("',")
//                 .append("'").append(user.getUserName()).append("', sysdate, 0 )");
//         sqls.add(sb.toString());
//         System.out.print(sb.toString());
//         return sqls;
//     }
//
//     /*
//      * @description:向数据库表中插入数据(1000行插入一次)
//      * @param tableName,conn,sqlStr,subList,headArray
//      * @return
//      * @time:2016年9月07日
//      */
// 	/*public List<String> genSql(String tableName, List<Object[]> subList, String[] headArray) {
// 		SysUser user = ShiroSessionUtils .getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//
// 		List<String> sqls = new ArrayList<String>();
// 		// 获取值集合
// 		for (int j = 0; j < subList.size(); j++) {
// 			StringBuffer sb = new StringBuffer("");
// 			sb.append(" insert into " + tableName + " (LBBM_ID,")
// 				.append("LBBM,LBMC,JLDW,WZCPBZ,BZSM,PID,YHBM,NOUSE,")
// 				.append("STATE,STATUS,CREATOR_ID,CREATOR_NAME,CREATE_TIME,VERSION)")
// 				.append(" VALUES( WL_LB_seq.nextval,");
//
// 			String[] row = (String[]) subList.get(j);
// 			if (row[0].length() == 2 || row[0].length() == 4) {
// 				sb.append("'").append(row[0]).append("',").append("'").append(row[1]).append("',")
// 					.append("'',").append("'1',").append("'").append(row[4]).append("',");
// 			} else {
// 				sb.append("'").append(row[0]).append("',").append("'").append(row[1]).append("',")
// 					.append("'").append(row[2]).append("',").append("'").append(row[3]).append("',")
// 					.append("'").append(row[4]).append("',");
// 			}
// 			for (int k = 0; k < row.length; k++) {
// 				sb.append("'").append(row[k]).append("',");
// 				if(k == 3){
// 					if(row[0].length() == 2 || row[0].length() == 4){
//
// 					}
// 				}
// 			}
// 			if(row[0].length() > 2){
// 				WlLb wl = new WlLb();
// 				wl.setLbbm(row[0].substring(0,row[0].length()-2));
// 				WlLb lb = wlLbService.getWlLbById(wl);
// 				if(null == lb){
// 					sb.append("'',");
// 				} else {
// 					sb.append("'"+lb.getLbbmId()+"', ");
// 				}
// 			} else {
// 				sb.append("'',");
// 			}
// 			sb.append("'").append(user.getUserAccount()).append("', ").append("'0', '0', '1', ")
// 				.append("'").append(user.getUserId()).append("',")
// 				.append("'").append(user.getUserName()).append("', sysdate, 0 )");
// 			sqls.add(sb.toString());
// 			System.out.print(sb.toString());
// 		}
// 		return sqls;
// 	}*/
//
//     /*
//      * 2017-06-29
//      * jyh
//      * 错误日志下载抽取至LogErrorsController中
//      */
//     /**
//      * * <p>Title: 导入数据，错误文档</p>
//      * <p>Company:@param response
//      * <p>Company:@param request </p>
//      */
//     /*@RequestMapping(value = "downLoadErr", method = RequestMethod.POST)
//     @ResponseBody
//     public void downLoadErr(HttpServletResponse response,HttpServletRequest request){
//     	String fileName = request.getParameter("err_fileName");
// 		String path = JspActionController.class.getProtectionDomain().getCodeSource()
//                 .getLocation().getPath();
// 		String file=path.substring(1, path.indexOf("/WEB-INF/classes"))+"/error_text/"+fileName;
// 		System.out.println("file:"+file);
// 		try {
// 			InputStream inStream = new FileInputStream(file);
// 			if(request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0){
// 			     fileName = URLEncoder.encode(fileName, "UTF-8");//IE浏览器
// 			}else{
// 			     fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");//firefox浏览器
// 			}
// 			response.reset();
// 			response.setCharacterEncoding("UTF-8");
// 			response.setContentType("application/msdownload");
// 			response.addHeader("Content-Disposition",  "attachment;filename=\"" + fileName + "\"");
// 			// 循环取出流中的数据
// 			byte[] b = new byte[100];
// 			int len;
// 			OutputStream output=response.getOutputStream();
// 			while ((len = inStream.read(b)) > 0)
// 				output.write(b, 0, len);
//
// 			output.flush();
// 			output.close();
// 			inStream.close();
// 		} catch (FileNotFoundException e) {
// 			e.printStackTrace();
// 		} catch (UnsupportedEncodingException e) {
// 		} catch (IOException e) {
// 			e.printStackTrace();
// 		}
// 	}*/
//
//     /**
//      * 导出模板
//      *
//      * @param modelId
//      * @param tableName
//      * @return
//      */
//     @RequestMapping(value = "wlLbExport", method = RequestMethod.GET)
//     @ResponseBody
//     public void wlLbExport(HttpServletResponse response, HttpServletRequest request) {
// //		String path = Thread.currentThread().getContextClassLoader().getResource("").toString();
// //		path=path.replace('/', '\\'); // 将/换成\
// //		path=path.replace("classes\\", ""); //去掉class\
// //		path=path.replace("file:\\", ""); //file:\
// //		path += "doc\\dataTemplate";
//         String path = IoUtil.getTemplatePath();
//         String fileName = TemplateName.WL_LB_TEMPLATE;//服务器上存的文件名
//         String uploadFileName = "物料类别添加模板";//给用户下载看到的文件名
//         ExportUtil.exportTemplate(path, fileName, uploadFileName, response);
// 		/*
// 		InputStream inStream = null;
// 		String fileName = null;
// 		OutputStream outStream = null;
// 		try {
// 			String path = Thread.currentThread().getContextClassLoader().getResource("").toString();
// 			path=path.replace('/', '\\'); // 将/换成\
// 			path=path.replace("classes\\", ""); //去掉class\
// 			path=path.replace("file:\\", ""); //file:\
// 			path += "doc\\dataTemplate";
// 			fileName = "物料类别添加模板.xlsx";
// 			response.setCharacterEncoding("GBK");
// 			response.setContentType("application/vnd.ms-excel");
// 			response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName,"GBK"));
// 			File file = new File(path,fileName);
// 			inStream = new FileInputStream(file);
// 			byte[] bytes = new byte[1024];
// 			int len;
// 			outStream = response.getOutputStream();
// 			ExcelUtil.setResponseHeader(response, fileName);
// 			fileName = new String(fileName.getBytes("GBK"), "iso8859-1");
// 			response.setContentType("application/msdownload");
// 			response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
// 			//response.addHeader("Pargam", "no-cache");
// 			//response.addHeader("Cache-Control", "no-cache");
// 			while((len = inStream.read(bytes)) != -1 ) {
// 				outStream.write(bytes, 0, len);
// 	        }
// 			outStream.flush();
// 			outStream.close();
// 			//outStream = null;
// 			//response.flushBuffer();
// 		} catch (IOException e) {
// 			e.printStackTrace();
// 		} finally {
// 			if(inStream != null){
// 				try{inStream.close();}
// 				catch(Exception e){}
// 			}
// 		}*/
//     }
//
//     //--------------------------物料权限---------------------------------------//
//
//     @ResponseBody
//     @RequestMapping(value = "/getDataPermissionLstByCond", method = RequestMethod.POST)
//     public String getDataPermissionLstByCond(HttpServletRequest request, WlLb wllb) {
//         String userId = request.getParameter("userId");
//         String permissionType = request.getParameter("permissionType");
//         List<WlLb> wzlbLst = new ArrayList<WlLb>();
//         List<SysDataPermission> dpLst = null;
//         boolean superLbChecked = false;
//
//         if (wllb.isChecked()) {
//             superLbChecked = true;
//         }
//
//         //以下判断权限管理使用
//         //当且仅当用户已经存在才查询该用户已经选择了那些类别的数据权限，用户自动勾选
//         if (!StringUtils.isEmpty(userId) && !StringUtils.isEmpty(permissionType)) {
//             SysDataPermission permission = new SysDataPermission();
//             permission.setUser_id(userId);
//             permission.setPermission_type(permissionType);
//
//             try {
//                 WlLb superWzlb = null;
//                 if (!"0".equals(wllb.getPid())) {
//                     WlLb query = new WlLb();
//                     query.setLbbmId(wllb.getPid());
//                     superWzlb = wlLbService.getWlLbById(query);
//
//                     //若上级类别非空
//                     if (!StringUtils.isEmpty(superWzlb)) {
//                         String superLbbm = superWzlb.getLbbm();
//                         if (2 == superLbbm.length()) {//上级类别为大类
//                             permission.setDl_id(superLbbm);
//                         } else if (4 == superLbbm.length()) {//上级类别为中类
//                             permission.setZl_id(superLbbm);
//                         } else {
//                             throw new Exception("隶属上级类别有误，不存在长度为：" + superLbbm.length() + "的类别");
//                         }
//                     }
//                 }
//                 dpLst = sysDataPermissionService.getDataPermissionLstByCond(permission);
//             } catch (Exception e) {
//                 e.printStackTrace();
//             }
//         }
//
//         String currentLbbm;    //接收当前类别编码
//         if ("0".equals(wllb.getPid())) {
//             wllb.setPid(null);
//         }
//         wzlbLst = wlLbService.getWllbTreeByPermissionCond(wllb);
//         for (WlLb wlLb : wzlbLst) {
//             wlLb.setLbmc(wlLb.getLbbm() + "_" + wlLb.getLbmc());
//         }
//         for (WlLb wzlbs : wzlbLst) {
//             wzlbs.setOpen(false);
//             currentLbbm = wzlbs.getLbbm();
//             //若当前父节点选中,下所有子节点自动勾选。
//             if (superLbChecked) {
//                 wzlbs.setChecked(true);
//             } else {
//                 if (!StringUtils.isEmpty(dpLst)) {
//                     for (SysDataPermission dpObj : dpLst) {
//                         if (currentLbbm.length() == 2) {                            //如果当前遍历的节点是大类
//                             if (currentLbbm.equalsIgnoreCase(dpObj.getDl_id())) {    //如果权限表中存在该大类的编码
//                                 //如果权限表中类字段的值为空，说明该大类下的全部中类都应该选中,如大类为01，中类为空：表示01下的全部中类选中
//                                 //否则，说明仅仅是该大类下的非空中类字段的值选中，如大类是01，中类是0101，表示仅仅选中0101
//                                 if (StringUtils.isEmpty(dpObj.getZl_id())) {
//                                     wzlbs.setChecked(true);
//                                 } else {
// //									wzlbs.setChecked(true);
//                                     wzlbs.setHalfCheck(true);    //half值即判定该节点UI中显示为实心，即其下节点部分选中
//                                 }
//                                 break;
//                             }
//                         } else if (currentLbbm.length() == 4) {    //如果当前遍历的节点是中类
//                             //如果查询到的中类码为空，那么含义是所有的中类都选中；否则如果非空，那么仅仅非空的选中
//                             if (StringUtils.isEmpty(dpObj.getZl_id())) {
//                                 wzlbs.setChecked(true);
//                                 break;
//                             } else {
//                                 if (currentLbbm.equalsIgnoreCase(dpObj.getZl_id())) {    //如果权限表中存在该中类的编码
//                                     //如果权限表小类字段的值为空，说明该中类下的全部小类都应该选中,如中类为0101，小类为空：表示0101下的全部小类选中
//                                     //否则，说明仅仅是该中类下的非空小类字段的值选中，如中类是0101，小类是010101，表示仅仅选中010101
//                                     if (StringUtils.isEmpty(dpObj.getXl_id())) {
//                                         wzlbs.setChecked(true);
//                                     } else {
// //										wzlbs.setChecked(true);
//                                         wzlbs.setHalfCheck(true);    //half值即判定该节点UI中显示为实心，即其下节点部分选中
//                                     }
//                                     break;
//                                 }
//                             }
//                         } else if (currentLbbm.length() == 6) {    //如果当前遍历的节点是小类
//                             //如果查询到的小类码为空，那么含义是所有的小类都选中；否则如果非空，那么仅仅非空的选中
//                             if (StringUtils.isEmpty(dpObj.getXl_id())) {
//                                 wzlbs.setChecked(true);
//                                 break;
//                             } else {
//                                 if (currentLbbm.equalsIgnoreCase(dpObj.getXl_id())) {
//                                     wzlbs.setChecked(true);
//                                     break;
//                                 }
//                             }
//                         }
//                     }
//                 }
//             }
//
//         }
//         String jsonStr = JSON.toJSONString(wzlbLst);
//         return jsonStr;
//     }
//
//     /**
//      * 物料类别提交
//      *
//      * @return
//      
//      * @date 2017-03-20
//      */
//     @RequestMapping(value = "/applySubmitWlLbs", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject applySubmitWlLbs(@RequestBody List<TjForm> forms) {
//         SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//         JSONObject jsonObject = new JSONObject();
//         if (forms.size() > 0) {
//             List<TjForm> tjlst = new ArrayList<TjForm>();
//             try {
//                 String systemCode = sysParameterService.getSysParamValue("systemCode", "MDM");// 获取系统参数systemCode，如果返回值为空则默认返回值为"MDM"
//                 String useOaWorkflow = sysParameterService.getSysParamValue("useOaWorkflow", "false");// 获取系统参数useOaWorkflow，如果返回值为空则默认返回值为"false"
//                 // if ("WanDa".equals(systemCode) && "true".equals(useOaWorkflow)) {// 当前系统为中国万达主数据，工作流统一为万达集团OA工作流
//                 //     ProcessWfService processwfservice = new ProcessWfService();
//                 //     tjlst = processwfservice.submitForWllb2OaWorkflow(forms);
//                 // } else {
//                 tjlst = workFlowService.submitFlowElse(forms);
//                 // }
//                 //List<String> mtj = new ArrayList<String>();//提交前校验未通过，未被允许提交
//                 List<String> fails = new ArrayList<String>();//发起流程失败的
//                 List<String> ends = new ArrayList<String>();//未找到配置的流程
//                 int flowSuccCount = 0;
//                 List<String> lbids = new ArrayList<String>();
//                 for (int i = 0; i < tjlst.size(); i++) {
//                     TjForm tjfrom = tjlst.get(i);
//                     RunState runState = tjfrom.getRunState();
//                     switch (runState) {
//                         case RUNNING:
//                             flowSuccCount++;
//                             lbids.add(tjfrom.getDataId());
//                             break;
//                         case ERROR:
//                             fails.add(tjfrom.getDataId());
//                             break;
//                         case PASSED:
//                             flowSuccCount++;
//                             ends.add(tjfrom.getDataId());
//                             break;
//                         default:
//                             break;
//                     }
//                 }
//
//                 //更新导入表的状态为待审核
//                 if (!StringUtils.isEmpty(lbids)) {
//                     Map<String, Object> cond = new HashMap<>();
//                     cond.put("state", 5);
//                     cond.put("submitUid", String.valueOf(user.getUserId()));
//                     cond.put("submitUname", user.getUserName());
//                     cond.put("submitTime", new Date());
//                     cond.put("lbids", lbids);
//                     wlLbService.updateWlLbByWork(cond);
//                     jsonObject.put("success", true);
//                 }
//
//                 //没有配置流程直接审核通过
//                 if (!StringUtils.isEmpty(ends)) {
//                     Map<String, Object> cond = new HashMap<>();
//                     cond.put("state", 4);
//                     cond.put("submitUid", String.valueOf(user.getUserId()));
//                     cond.put("submitUname", user.getUserName());
//                     cond.put("submitTime", new Date());
//                     cond.put("lbids", ends);
//                     wlLbService.updateWlLbByWork(cond);
//
//                     //向分发表插入数据
//                     wlLbService.insertWllbDis(lbids, Constants.OPER_TJ);
//                     jsonObject.put("success", true);
//                 }
//
//                 StringBuffer buffer = new StringBuffer();
//                 if (!StringUtils.isEmpty(fails)) {
//                     buffer.append("发起流程失败：" + StringUtil.arrayToStringBySplit(fails, " "));
//                     jsonObject.put("success", false);
//                 }
//
//                 jsonObject.put("flowSuccCount", flowSuccCount);
//                 jsonObject.put("msg", buffer.toString());
//             } catch (Exception e) {
//                 e.printStackTrace();
//             }
//         } else {
//             jsonObject.put("success", false);
//             jsonObject.put("msg", "参数有误！");
//         }
//         return jsonObject;
//     }
//
//     @ResponseBody
//     @RequestMapping(value = "/getWllbListByCondSqSh", method = RequestMethod.POST)
//     @SuppressWarnings({"rawtypes"})
//     public JSONObject getWllbListByCondSqSh(HttpServletRequest request, WlLb wllb) {
//         // 获取session中用户
//         SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//         //查询条件
//         Map<String, Object> param = RequestUtils.paramToMap(request);
//         param.put("yhbm", String.valueOf(user.getUserId()));
//         param.put("approveUserId", String.valueOf(user.getUserId()));
//         param.put("tableName", "WL_LB");
//         param.put("modifyTableName", "WL_LB_UPDATE");
//         param.put("busiTable", "WL_LB");
//         PageInfo pageInfo = wlLbService.getWllbListByCondSqSh(param);
//         List l = pageInfo.getList();
//         JSONObject jsonObject = new JSONObject();
//         jsonObject.put("rows", l);
//         jsonObject.put("total", pageInfo.getTotal());
//         return jsonObject;
//     }
//
//     /**
//      * 物料类别启用停用提交
//      *
//      * @return
//      
//      * @date 2017-03-22
//      */
//     @RequestMapping(value = "/submitWlLbs", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject submitWlLbs(@RequestBody List<TjForm> forms) {
//         JSONObject jsonObject = new JSONObject();
//         List<TjForm> tjlst = new ArrayList<TjForm>();
//         String systemCode = sysParameterService.getSysParamValue("systemCode", "MDM");// 获取系统参数systemCode，如果返回值为空则默认返回值为"MDM"
//         String useOaWorkflow = sysParameterService.getSysParamValue("useOaWorkflow", "false");// 获取系统参数useOaWorkflow，如果返回值为空则默认返回值为"false"
//         // if ("WanDa".equals(systemCode) && "true".equals(useOaWorkflow)) {// 当前系统为中国万达主数据，工作流统一为万达集团OA工作流
//         //     ProcessWfService processwfservice = new ProcessWfService();
//         //     tjlst = processwfservice.submitForWllb2OaWorkflow(forms);
//         // } else {
//         tjlst = workFlowService.submitFlowElse(forms);
//         // }
//         //List<String> mtj = new ArrayList<String>();//提交前校验未通过，未被允许提交
//         List<String> fails = new ArrayList<String>();//发起流程失败的
//         List<String> ends = new ArrayList<String>();//未找到配置的流程
//         int flowSuccCount = 0;
//         List<String> idList = new ArrayList<String>();
//         for (int i = 0; i < tjlst.size(); i++) {
//             TjForm tjfrom = tjlst.get(i);
//             RunState runState = tjfrom.getRunState();
//             switch (runState) {
//                 case RUNNING:
//                     flowSuccCount++;
//                     idList.add(tjfrom.getDataId());
//                     break;
//                 case ERROR:
//                     fails.add(tjfrom.getDataId());
//                     break;
//                 case PASSED:
//                     flowSuccCount++;
//                     ends.add(tjfrom.getDataId());
//                     break;
//                 default:
//                     break;
//             }
//         }
//
//         //更新导入表的状态为待审核
//         if (!StringUtils.isEmpty(idList)) {
//             Map<String, Object> cond = new HashMap<>();
//             cond.put("state", 5);
//             cond.put("updIdList", idList);
//             wlLbService.submitWlLbUpdateStateById(cond);
//             jsonObject.put("success", true);
//         }
//
//         //没有配置流程直接审核通过
//         if (!StringUtils.isEmpty(ends)) {
//             Map<String, Object> cond = new HashMap<>();
//             cond.put("state", 4);
//             cond.put("updIdList", ends);
//             wlLbService.submitWlLbUpdateStateById(cond);
//
//             for (int i = 0; i < ends.size(); i++) {
//                 WlLbUpdate update = new WlLbUpdate();
//                 update.setUpdateId(ends.get(i));
//                 WlLbUpdate upd = wlLbUpdateService.getWlLbUpdateById(update);
//                 String lbbm = upd.getLbbm();
//                 List<String> bmId = wlLbService.getWlLbLbbmIdByLbbmS(lbbm);
//
//                 Map<String, Object> map = new HashMap<>();
//                 if ("active".equals(forms.get(i).getOperType())) {
//                     map.put("nouse", "0");
//                     map.put("idList", bmId);
//                     wlLbService.tyWlLbByIdS(map);
//                 }
//                 if ("freeze".equals(forms.get(i).getOperType())) {
//                     map.put("nouse", "1");
//                     map.put("idList", bmId);
//                     wlLbService.tyWlLbByIdS(map);
//                 }
//
//                 //向分发表插入数据
//                 wlLbService.insertWllbDis(bmId, "active".equals(forms.get(i).getOperType()) ? Constants.OPER_QY : Constants.OPER_TY);
//
//                 //更新正式物料数据
//                 Map<String, Object> wlmap = new HashMap<>();
//                 wlmap.put("status", "0");
//                 wlmap.put("wllbidArray", bmId);
//                 wlwlService.updateWlwlStatus(wlmap);
//
//                 //向分发表插入数据
//                 wlwlService.insertWlwlDis(bmId, "active".equals(forms.get(i).getOperType()) ? "3" : "4");
//             }
//
//             jsonObject.put("success", true);
//         }
//
//         StringBuffer buffer = new StringBuffer();
//         if (!StringUtils.isEmpty(fails)) {
//             buffer.append("发起流程失败：" + StringUtil.arrayToStringBySplit(fails, " "));
//             jsonObject.put("success", false);
//         }
//
//         jsonObject.put("flowSuccCount", flowSuccCount);
//         jsonObject.put("msg", buffer.toString());
//
//         return jsonObject;
//     }
//
//     /**
//      * 物料类别审核
//      *
//      * @param request
//      * @return
//      
//      * @date 2017-03-23
//      */
//     @RequestMapping(value = "/shenHeWlLbs", method = RequestMethod.POST)
//     @ResponseBody
//     public JSONObject shenHeWlLbs(@RequestBody List<ShForm> forms) {
//         JSONObject jsonObject = new JSONObject();
//         Map<String, Object> result = wlLbService.wlLbApprove(forms);
//         jsonObject.put("success", result.get("flag"));
//         jsonObject.put("succCount", result.get("succCount"));
//         jsonObject.put("msg", result.get("msg"));
//         return jsonObject;
//     }
//
//     @ResponseBody
//     @RequestMapping(value = "/getWllbTreeByTzlQzKey", method = RequestMethod.POST)
//     public String getWllbTreeByTzlQzKey(HttpServletRequest request) {
// 		/*List<WlLb> wlLbList = new ArrayList<WlLb>();
// 		List<WlLb> wlLbList2 = new ArrayList<WlLb>();
// 		ResultObject result = new ResultObject();
// 		String qzKey = request.getParameter("qzkey");
// 		Map<String, Object> map = new HashMap<>();
// 		// 获取session中用户
// 		SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
// 		try {
// 			map.put("lbmc", qzKey);
// 			List<WlLb> wlLbList3 = wlLbDao.getWlLbListByCond(map);
// 			if (!StringUtils.isEmpty(wlLbList3)) {
// 				wlLbList = wlLbList3;
// 				map.put("lbmc", "");
// 				if (1 == wlLbList3.size()) {
// 					map.put("lbbm", wlLbList3.get(0).getLbbm());
// 					wlLbList = wlLbDao.getWlLbListByCond(map);
// 					if (2 == wlLbList3.get(0).getLbbm().length()) {
// 						//展示类别树结构：编码_名称
// 						for (WlLb wllb2 : wlLbList) {
// 							wllb2.setLbmc(wllb2.getLbbm()+"_"+wllb2.getLbmc());
// 						}
// 						return JSON.toJSONString(wlLbList);
// 					}
// 				}
// 			} else {
// 				map.put("qzkey", qzKey);
// 				map.put("userid", String.valueOf(user.getUserId()));
// 				wlLbList = wlLbService.getWllbTreeByTzlQzKey(map);
// 			}
//
// 			wlLbList2.addAll(wlLbList);
// 			for(WlLb wllb : wlLbList){
// 				if(wllb.getLbbm().length() == 8){
// 					wlLbList2 = this.getBaWeiWlLbList(wllb, wlLbList2);
// 				} else if(wllb.getLbbm().length() == 6){
// 					wlLbList2 = this.getLiuWeiWlLbList(wllb, wlLbList2);
// 				} else if(wllb.getLbbm().length() == 4){
// 					wlLbList2 = this.getSiWeiWlLbList(wllb, wlLbList2);
// 				} else {
// 					continue;
// 				}
// 			}
// 			//去重
// 			for (int i = 0; i < wlLbList2.size(); i++) {
// 				for (int j = wlLbList2.size()-1; j > i; j--) {
// 					if (wlLbList2.get(j).getLbbm().equals(wlLbList2.get(i).getLbbm())) {
// 						wlLbList2.remove(j);
// 					}
// 				}
// 			}
// 			//展示类别树结构：编码_名称
// 			for (WlLb wllb2 : wlLbList2) {
// 				wllb2.setLbmc(wllb2.getLbbm()+"_"+wllb2.getLbmc());
// 			}
// 			result.setData(wlLbList2);
// 		} catch (Exception e) {
// 			e.printStackTrace();
// 		}
// 		return JSON.toJSONString(wlLbList2);*/
//
//         List<WlLb> wlLbList = new ArrayList<WlLb>();
//         ResultObject result = new ResultObject();
//         String qzKey = request.getParameter("qzkey");
//         List<String> bmId = wlLbService.getTzlQzKeyLbbms(qzKey);
//
//         Map<String, Object> map = new HashMap<>();
//         // 获取session中用户
//         SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//         try {
//             map.put("qzkey", qzKey);
//             map.put("userid", String.valueOf(user.getUserId()));
//             if (bmId.size() > 0 && bmId.size() < 1000) {
//                 map.put("lbbmList", bmId);
//             }
//             wlLbList = wlLbService.getWllbTreeByTzlQzKey(map);
//             for (WlLb wllb : wlLbList) {
//                 wllb.setLbmc(wllb.getLbbm() + "_" + wllb.getLbmc());
//             }
//             result.setData(wlLbList);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//         return JSON.toJSONString(wlLbList);
//     }
//
//     public List<WlLb> getBaWeiWlLbList(WlLb lb, List<WlLb> wlLbList) {
//         WlLb querywllb = new WlLb();
//         querywllb.setLbbm(lb.getLbbm().substring(0, 6));
//         WlLb liu = wlLbService.getWlLbById(querywllb);
//         wlLbList.add(liu);
//         querywllb.setLbbm(liu.getLbbm().substring(0, 4));
//         WlLb si = wlLbService.getWlLbById(querywllb);
//         wlLbList.add(si);
//         querywllb.setLbbm(si.getLbbm().substring(0, 2));
//         WlLb er = wlLbService.getWlLbById(querywllb);
//         wlLbList.add(er);
//         return wlLbList;
//     }
//
//     public List<WlLb> getLiuWeiWlLbList(WlLb lb, List<WlLb> wlLbList) {
//         WlLb querywllb = new WlLb();
//         querywllb.setLbbm(lb.getLbbm().substring(0, 4));
//         WlLb si = wlLbService.getWlLbById(querywllb);
//         wlLbList.add(si);
//         querywllb.setLbbm(si.getLbbm().substring(0, 2));
//         WlLb er = wlLbService.getWlLbById(querywllb);
//         wlLbList.add(er);
//         return wlLbList;
//     }
//
//     public List<WlLb> getSiWeiWlLbList(WlLb lb, List<WlLb> wlLbList) {
//         WlLb querywllb = new WlLb();
//         querywllb.setLbbm(lb.getLbbm().substring(0, 2));
//         WlLb er = wlLbService.getWlLbById(querywllb);
//         wlLbList.add(er);
//         return wlLbList;
//     }
//
//     @ResponseBody
//     @RequestMapping(value = "/updateWlLbByWh", method = RequestMethod.POST)
//     public JSONObject updateWlLbByWh(WlLb wllb) {
//         JSONObject jsonObject = new JSONObject();
//         ResponseMsg<String> rMsg = new ResponseMsg<String>();
//         try {
//             Map<String, Object> cond = new HashMap<>();
//             cond.put("lbbm", wllb.getLbbm());
//             cond.put("lbmc", wllb.getLbmc());
//             cond.put("bzsm", wllb.getBzsm());
//             cond.put("wzcpbz", wllb.getWzcpbz());
//             cond.put("lbbmId", wllb.getLbbmId());
//             cond.put("jldw", wllb.getJldw());
//             wlLbService.updateWlLbByWork(cond);
//             rMsg.setRspCode(0);
//         } catch (Exception e) {
//             e.printStackTrace();
//             rMsg.setRspCode(-1);
//         }
//         jsonObject.put("rmsg", rMsg);
//         return jsonObject;
//     }
//
//     /**
//      * 查询类别下所有类别别名
//      *
//      * @param request
//      * @param
//      * @return
//      * @author jyh
//      */
//     @ResponseBody
//     @RequestMapping(value = "/getWllbbmListByCond", method = RequestMethod.POST)
//     @SuppressWarnings({"rawtypes", "unchecked"})
//     public JSONObject getWllbbmListByCond(HttpServletRequest request) {
//         Map<String, Object> paramMap = RequestUtils.paramToMap(request);
//         PageInfo pageInfo = wlLbbmService.getWlLbbmByCond(paramMap);
//         List l = pageInfo.getList();
//         JSONObject jsonObject = new JSONObject();
//         jsonObject.put("rows", l);
//         jsonObject.put("total", pageInfo.getTotal());
//         return jsonObject;
//     }
//
//     @ResponseBody
//     @RequestMapping(value = "/delWllbbmByIds", method = RequestMethod.POST)
//     public ResultObject delWllbbmByIds(HttpServletRequest request) {
//         String ids = request.getParameter("ids");
//         if (ids == null || "".equals(ids))
//             return null;
//         int ret = wlLbbmService.deleteWlLbbmByIds(toList(ids));
//         int f = ret > 0 ? 1 : 0;
//         //记录日志
//         SysLogUtil.insertLog("删除物料类别[" + ids + "]",
//                 SysLogEnum.WL_LB.getCode(), SysLogEnum.SC.getCode(), request);
//         ResultObject result = new ResultObject(f, "删除成功", "删除失败");
//         return result;
//     }
//
//     /**
//      * 查询类别下所有类别别名
//      *
//      * @param request
//      * @param
//      * @return
//      * @author jyh
//      */
//     @ResponseBody
//     @RequestMapping(value = "/getWllbbmListBybm", method = RequestMethod.POST)
//     public JSONObject getWllbbmListBybm(HttpServletRequest request) {
//         Map<String, Object> paramMap = RequestUtils.paramToMap(request);
//         List<WlLbbm> list = wlLbbmService.queryWlLbbmByCond(paramMap);
//         JSONObject jsonObject = new JSONObject();
//         jsonObject.put("list", list);
//         return jsonObject;
//     }
//
//     /**
//      * 添加类别别名
//      *
//      * @param request
//      * @return
//      * @author jyh
//      */
//     @ResponseBody
//     @RequestMapping(value = "/insertWlLbbm", method = RequestMethod.POST)
//     public ResultObject insertWlLbbm(HttpServletRequest request) {
//         String lbbm = request.getParameter("lbbm");
//         String lbmc = request.getParameter("lbmc");
//         String lbmcbm = request.getParameter("lbmcbm");
//         // 获取当前日期
//         Date date = new Date();
//         // 获取session中用户
//         SysUser user = ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER);
//         //Map<String, Object> paramMap = RequestUtils.paramToMap(request);
//         //paramMap.put("createAccount", user.getUserAccount());
//         WlLbbm wllbbm = new WlLbbm();
//         wllbbm.setLbbm(lbbm);
//         wllbbm.setLbmc(lbmc);
//         wllbbm.setLbmcbm(lbmcbm);
//         wllbbm.setCreateName(user.getUserName());
//         wllbbm.setCreateAccount(user.getUserAccount());
//         int count = wlLbbmService.insertWlLbbm(wllbbm);
//
// 		/*// ==============================记录操作日志start===============================================
// 		SysLog sysLog = new SysLog();
// 		sysLog.setUserName(user.getUserName());
// 		sysLog.setBrowserType(BrowserUtils.getBrowserName(request));
// 		sysLog.setOperationDate(date);
// 		if (count > 0) {
// 			sysLog.setOperationContent("用户【" + ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER).getUserName()
// 					+ "】于" + DateUtils.dateToString(date, "yyyy-MM-dd HH:mm:ss") + ",添加【"+lbbm+"】别名【"+lbmcbm+"】成功");
// 		} else {
// 			sysLog.setOperationContent("用户【" + ShiroSessionUtils.getSessionSysUser(ConstantBean.CURRENT_SESSION_USER).getUserName()
// 					+ "】于" + DateUtils.dateToString(date, "yyyy-MM-dd HH:mm:ss") + ",添加【"+lbbm+"】别名【"+lbmcbm+"】失败");
// 		}
// 		sysLogServiceImpl.insertLog(sysLog);
// 		// ==============================记录操作日志end==================================================
// */
//         SysLogUtil.insertLog("新增物料类别[" + lbbm + "][" + lbmc + "]",
//                 SysLogEnum.WL_LB.getCode(), SysLogEnum.XZ.getCode(), request);
//         ResultObject resultObject = new ResultObject(count, "新增成功", "新增失败");
//         return resultObject;
//     }
//
//     /**
//      * 传入一个ID字符串(以,号连接的),解析后,返回ID集合
//      *
//      * @param array
//      * @return List<String>
//      * @author jyh
//      */
//     public List<String> toList(String array) {
//         ArrayList<String> list = new ArrayList<String>();
//         if (array != null) {
//             for (String string : array.split(",")) {
//                 list.add(string);
//             }
//         }
//         return list;
//     }
//
//     /**
//      * 导出当前页数据
//      *
//      * @param request
//      * @return
//      
//      * @date 2018-01-31
//      */
//     @RequestMapping(value = "wlLbExportExcel", method = RequestMethod.POST)
//     @ResponseBody
//     public String wlLbExportExcel(HttpServletResponse response, HttpServletRequest request, WlLb wllb) {
//         if (wlLbListByExport.size() > 0 && wlLbListByExport != null) {
//             wlLbService.exportWlLb(wlLbListByExport, response);
//         }
//         return null;
//     }
//
//     /**
//      * 导出所有数据
//      *
//      * @param
//      * @param
//      * @return
//      
//      * @date 2018-01-31
//      */
//     @RequestMapping(value = "wlLbExportExcel2", method = RequestMethod.POST)
//     @ResponseBody
//     public String wlLbExportExcel2(HttpServletResponse response, HttpServletRequest request, WlLb wllb) {
//         String start = request.getParameter("Second_PageHelper");
//         String end = request.getParameter("First_PageHelper");
//         if (!StringUtils.isEmpty(start) && !StringUtils.isEmpty(end)) {
//             wlmap.put("pageNum", start);
//             wlmap.put("limit", end);
//             PageInfo pageInfo = wlLbService.getWlLbListByCond2(wlmap);
//             List l = pageInfo.getList();
//             if (l.size() > 0 && l != null) {
//                 wlLbService.exportWlLb(l, response);
//             }
//         }
//         return null;
//     }
// }
